package service.impl;

import dao.YytxMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pojo.Yytx;
import service.YytxService;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 用药提醒业务逻辑实现（默认值完整处理）
 */
@Service
public class YytxServiceImpl implements YytxService {
    @Autowired
    private YytxMapper yytxMapper;

    @Override
    public int add(Yytx yytx) {
        // 强制填充默认值（覆盖前端可能的null）
        if (yytx.getFrequency() == null) {
            yytx.setFrequency("每天");
        }
        if (yytx.getStatus() == null) {
            yytx.setStatus("未提醒");
        }
        // 确保提醒时间有效
        if (yytx.getRemindTime() == null) {
            yytx.setRemindTime(LocalDateTime.now());
        }
        // 执行插入（获取自增ID）
        int result = yytxMapper.add(yytx);
        return result;
    }

    @Override
    public List<Yytx> findByYhId(Integer yhId) {
        return yytxMapper.findByYhId(yhId);
    }

    @Override
    public List<Yytx> findByTimeRange(Integer yhId, LocalDateTime startTime, LocalDateTime endTime) {
        return yytxMapper.findByTimeRange(yhId, startTime, endTime);
    }

    @Override
    public int update(Yytx yytx) {
        return yytxMapper.update(yytx);
    }

    @Override
    public int deleteById(Integer yytxId) {
        return yytxMapper.deleteById(yytxId);
    }

    @Override
    public int deleteByYhId(Integer yhId) {
        return yytxMapper.deleteByYhId(yhId);
    }
}